// 负责所有全局自定义组件的注册,在任意位置去使用
// 一次性注册好多组件
import PageTools from './PageTools/index.vue'
import UploadExcel from './UploadExcel'
import ImageUpload from './ImageUpload'
import Print from 'vue-print-nb'
import ScreenFull from './ScreenFull'
import ThemePicker from './ThemePicker'
import LangSelect from './lang'
import TagsView from './TagsView'
export default {
   // 拿到 vue 的全局对象
   install(Vue) {
      // 组件的注册   '组件名' ，组件对象
      Vue.component('PageTools', PageTools)
      Vue.component('UploadExcel', UploadExcel)
      // 注册图片上传组件
      Vue.component('ImageUpload', ImageUpload)
      // 全屏
      Vue.component('ScreenFull', ScreenFull)
      // 颜色
      Vue.component('ThemePicker', ThemePicker)
      // 语言
      Vue.component('LangSelect', LangSelect)
      // 页签
      Vue.component('TagsView', TagsView)
      // 注册打印组件
      Vue.use(Print)
   }
}
// 在 new vue 之前执行 install，多看 vue.js
// vue.use（） 相当于执行了它的 install

// 安装 Vue.js 插件。如果插件是一个对象，必须提供 install 方法。
// 如果插件是一个函数，它会被作为 install 方法。install 方法调用时，会将 Vue 作为参数传入。
// 该方法需要在调用 new Vue() 之前被调用。

// 想用 Vue.use 的方式去注册组件，要 use 里的对象
// 会调用这个方法里边的 install，并且给里边传参数
// 在main.js中这么写
// Vue.use({
//    install(v) {
// 这个 v 就是 vue 的实例，vue 的全局对象
//       console.log(v)
//    }
// })
